//
// Created by lfm on 2025/3/5.
//
//多继承语法
//#include <iostream>
//using namespace std;
////多继承语法
//
//class Base1
//{
//public:
//    Base1()
//    {
//        m_A = 100;
//    }
//
//    int m_A;
//};
//
//class Base2
//{
//public:
//    Base2()
//    {
//        m_B = 200;
//    }
//
//    int m_B;
//};
////子类， 需要继承Base1和Base2
////语法 ：class 子类 ： 继承方式 父类1， 继承方式 父类2 ...
//class Son:public Base1, public Base2
//{
//public:
//    Son()
//    {
//        m_C = 300;
//        m_D = 400;
//    }
//    int m_C;
//    int m_D;
//};
//void test01()
//{
//    Son s;
//
//    cout << "sizeof Son = " << sizeof(s) << endl;
//
//    cout << "m_A = " << s.m_A << endl;
//}
//int main()
//{
//    test01();
//    return 0;
//}



//#include <iostream>
//#include <algorithm>
//using namespace std;
//struct Student
//{
//    int ID;
//    string Name;
//    int Math;
//    int Eng;
//};
//bool cmp(const Student&a, const Student& b)
//{
//    return a.Eng - b.Eng;
//}
//int main()
//{
//    Student person[] = {
//            {1001, "小明", 85, 76},
//            {1002, "小李", 74, 87},
//            {1003, "小张", 92, 78},
//            {1004, "小红", 62, 66},
//            {1005, "小王", 88, 84},
//            {1006, "小文", 94, 93}
//    };
//    int n = sizeof(person) / sizeof(person[0]);
//    sort(person, person + n, cmp);
//    cout << "学号\t姓名\t英语成绩\t数学成绩\n";
//    for (int i = 0; i < n; i++)
//    {
//        cout << person[i].ID << "\t" << person[i].Name << "\t"<< person[i].Eng << "\t" <<person[i].Math << "\t"<<endl;
//    }
//    return 0;
//}


//#include <iostream>
//using namespace std;
//class Base1
//{
//public:
//    Base1()
//    {
//        m_A = 100;
//    }
//    int m_A;
//};
//
//class Base2
//{
//public:
//    Base2()
//    {
//        m_A = 200;
//    }
//    int m_A;
//};
////子类 需要继承Base1和Base2
////语法: class 子类 : 继承方式 父类1, 继承方式 父类2...
//class Son : public Base1, public Base2
//{
//public:
//    Son()
//    {
//        m_C = 300;
//        m_D = 400;
//    }
//    int m_C;
//    int m_D;
//};
//void test01()
//{
//    Son s;
//
//    cout << "sizeof Son = " << sizeof (Son) << endl;
//    //当父类中出现同名成员需要加作用域区分
//    cout << "Base1 : m_A = " << s.Base1::m_A << endl;
//    cout << "Base2 : m_A = " << s.Base2::m_A << endl;
//}
//int main()
//{
//    test01();
//    return 0;
//}